from base.base_page import BasePage
import allure
from config import *
import time
from page import BasePageElements
from page.mail_list_manager.org_page import OrgPageElements

class OrgPage(BasePage):

    def create_org(self, org_name, parent_org):
        # 进入首页
        with allure.step("进入首页"):
            self.my_get(index_url)
        # 点击-通讯录，进入通讯录界面
        with allure.step("点击-通讯录，进入通讯录界面"):
            self.my_click(OrgPageElements.mail_list_button)
        # 点击---+号
        with allure.step("点击---+号"):
            self.my_click(OrgPageElements.add_button)
        # 点击-添加部门
        with allure.step("点击-添加部门"):
            self.my_click(OrgPageElements.add_org_button)
        # 输入部门名称
        with allure.step("输入部门名称：{}".format(org_name)):
            self.my_send_keys(OrgPageElements.org_name_input, org_name)
        # 选择所属部门
        # 点击所属部门下拉选择框
        if parent_org:  # 如果parent_org不是空字符串，就会执行选择所属部门的操作，如果是空字符，就不会选择
            with allure.step("点击展开所属部门选择的下拉框"):
                self.my_click(OrgPageElements.parent_org_box)
            # 选择上级部门：啦啦啦啦
            with allure.step("选择所属部门：{}".format(parent_org)):
                parent_org_choose = (OrgPageElements.parent_org_choose[0],
                                     OrgPageElements.parent_org_choose[-1].format(parent_org))
                self.my_click(parent_org_choose)
        # 点击-确定
        with allure.step("点击-确定"):
            self.my_click(BasePageElements.define_button)
        # 获取提示信息，断言
        with allure.step("获取提示信息"):
            time.sleep(0.5)
            tip_text = self.my_get_text(BasePageElements.tip_info)
        return tip_text

    def update_org(self, old_org_name, new_org_name):
        # 进入首页
        with allure.step("进入首页"):
            self.my_get(index_url)
        # 点击-通讯录，进入通讯录界面
        with allure.step("点击-通讯录，进入通讯录界面"):
            self.my_click(OrgPageElements.mail_list_button)
        # 找到具体部门，点击。。。{设置、功能拓展}按钮
        with allure.step("点击部门：{}的设置按钮".format(old_org_name)):
            org_index = (OrgPageElements.org_index[0], OrgPageElements.org_index[-1].format(old_org_name))
            self.my_move_to_element(org_index)
            org_set_button = (OrgPageElements.org_set_button[0], OrgPageElements.org_set_button[-1].format(old_org_name))
            self.my_click(org_set_button)
        # 点击-修改部门名称
        with allure.step("点击-修改部门名称"):
            self.my_click(OrgPageElements.update_org_name_button)
        # 输入部门名称
        with allure.step("输入新的部门名称：{}".format(new_org_name)):
            self.my_send_keys(OrgPageElements.org_name_input, new_org_name)
        # 点击-保存
        with allure.step("点击-保存"):
            self.my_click(BasePageElements.define_button)
        # 获取提示信息，断言
        with allure.step("获取提示信息"):
            time.sleep(0.5)
            tip_text = self.my_get_text(BasePageElements.tip_info)
        return tip_text
